package com.rock.app.base;

import java.util.HashMap;
import java.util.Map;

import com.jfinal.weixin.sdk.api.ApiResult;
import com.jfinal.weixin.sdk.kit.PaymentKit;
import com.jfinal.weixin.sdk.utils.HttpUtils;

public class WxaUserApiOpen {

	/** 三方平台开放接口地址 **/
    private static String jsCode2sessionUrlOpen = "https://api.weixin.qq.com/sns/component/jscode2session";
    
    /**
     * 第三方平台替代小程序实现登录功能 获取 session_key 和 openid
     * @param appid 商户小程序id
     * @param jsCode 微信前端登录时获取的 code
     * @param componentAppid 第三方平台 appid
     * @param componentAccessToken 第三方平台 令牌
     * @return
     */
    public static ApiResult getSessionKey(String appid, String jsCode, String componentAppid, String componentAccessToken) {
        Map<String, String> params = new HashMap<String, String>();
        params.put("appid", appid);
        params.put("js_code", jsCode);
        params.put("grant_type", "authorization_code");
        params.put("component_appid", componentAppid);
        params.put("component_access_token", componentAccessToken);
        String para = PaymentKit.packageSign(params, false);
        // 构造curl
        String url = jsCode2sessionUrlOpen + "?" + para;
        return new ApiResult(HttpUtils.get(url));
    }
}
